Many software developers use an integrated development environment (IDE) to write source code and build (e.g., compile and link) the code to generate an executable computer program. Traditional IDEs can include a set of different, and often incompatible tools (e.g., generators, plug-ins) that fail to support an integrated and standardized application development process. Moreover, traditional IDEs may not be designed to support a development community, and may fail to provide a feedback mechanism for sharing and improving code within a community, which may lead to the creation of buggy or otherwise low quality applications.